1. Field of the Invention
The present invention relates generally to the display of information on small display screens, and in particular to a method and apparatus for retrieving and displaying records on a small display screen.
2. Description of Related Art
A structured information database is usually represented by a long list of ordered data or records. More often, it is represented by a list of indexes, each indexing one of the records. In order to locate a certain record identified by an index from the database, a string of characters representing at least a portion of the index must be supplied. A lookup process based on a matching scheme is then followed to retrieve all records identified by the string of characters. In many applications, the string of characters is supplied through a full-size functional keyboard, such as a computer keyboard, and then those records with indexes that match the string of characters are retrieved and presented to a user. Thereafter, the user can decide whether to refine or alter the input string of characters to improve the lookup process.
In certain applications such as automatic telephone response systems, however, there are no functional keyboards. A common input interface for a telephone uses a numeric-based keypad such as shown in FIG. 1. The keypad comprises twelve keys or buttons representing xe2x80x9c0 to 9xe2x80x9d, xe2x80x9c*xe2x80x9d and xe2x80x9c#xe2x80x9d keys. To facilitate the input of characters, each numeric key is commonly assigned to represent certain alphabetical characters as follows:
xe2x80x9c1xe2x80x9d key is assigned for a special use;
xe2x80x9c2xe2x80x9d key is for xe2x80x9cAxe2x80x9d, xe2x80x9cBxe2x80x9d or xe2x80x9cCxe2x80x9d
xe2x80x9c3xe2x80x9d key is for xe2x80x9cDxe2x80x9d, xe2x80x9cExe2x80x9d or xe2x80x9cFxe2x80x9d;
xe2x80x9c4xe2x80x9d key is for xe2x80x9cGxe2x80x9d, xe2x80x9cHxe2x80x9d or xe2x80x9cIxe2x80x9d;
xe2x80x9c5xe2x80x9d key is for xe2x80x9cJxe2x80x9d, xe2x80x9cKxe2x80x9d or xe2x80x9cLxe2x80x9d;
xe2x80x9c6xe2x80x9d key is for xe2x80x9cMxe2x80x9d, xe2x80x9cNxe2x80x9d or xe2x80x9cOxe2x80x9d;
xe2x80x9c7xe2x80x9d key is for xe2x80x9cPxe2x80x9d, xe2x80x9cQxe2x80x9d, xe2x80x9cRxe2x80x9d or xe2x80x9cSxe2x80x9d;
xe2x80x9c8xe2x80x9d key is for xe2x80x9cTxe2x80x9d, xe2x80x9cUxe2x80x9d or xe2x80x9cVxe2x80x9d and;
xe2x80x9c9xe2x80x9d key is for xe2x80x9cWxe2x80x9d, xe2x80x9cXxe2x80x9d, xe2x80x9cYxe2x80x9d or xe2x80x9cZxe2x80x9d.
The xe2x80x9c*xe2x80x9d key and xe2x80x9c#xe2x80x9d key are also assigned for other special uses.
Conventionally, there are a few different ways to specify a particular character by pressing the numeric keys. For instance, press xe2x80x9c2xe2x80x9d for xe2x80x9cAxe2x80x9d, xe2x80x9c22xe2x80x9d for xe2x80x9cBxe2x80x9d, xe2x80x9c222xe2x80x9d for xe2x80x9cCxe2x80x9d, or xe2x80x9c7777xe2x80x9d for xe2x80x9cSxe2x80x9d, followed by a character-break flag after each character entry. Typically, the xe2x80x9c#xe2x80x9d key entry or a pause is used as the character-break flag in some applications. Another way to specify a character using the numeric keys is the use of the ticker symbols, namely, exactly two numeric keys for each character. The first key indicates a group of characters in which a desired character is in. The second key points out the position of the character in the group. For example, press xe2x80x9c2xe2x80x9d and xe2x80x9c1xe2x80x9d keys for xe2x80x9cAxe2x80x9d, xe2x80x9c2xe2x80x9d and xe2x80x9c2xe2x80x9d for xe2x80x9cBxe2x80x9d, xe2x80x9c2xe2x80x9d and xe2x80x9c3xe2x80x9d for xe2x80x9cCxe2x80x9d or xe2x80x9c7xe2x80x9d and xe2x80x9c4xe2x80x9d for xe2x80x9cSxe2x80x9d.
FIG. 2A illustrates a display screen 200 conventionally used to retrieve and display a record from a database. Screen 200 typically provides an entry area 202 in which a user can type in an index or query at cursor position 204. FIG. 2B shows that a query xe2x80x9cbakersxe2x80x9d 206 has been typed in the entry area 202 to retrieve all records having the string xe2x80x9cbakersxe2x80x9d. After a predefined keystroke which initiates the search, FIG. 2C shows a full record 208 having a string that matches with the query for xe2x80x9cbakersxe2x80x9d 206. This method, which for example is commonly seen in libraries, requires a multiple-character query input and is well suited to a system with a full-size input interface such as a computer keyboard. Often, the more detailed the query that is provided, the better the matched records that are retrieved and displayed.
Many portable devices, however, are equipped with only a reduced-size input interface such as phone keypad or some displayed soft keys. Using a phone keypad to type in a detailed query can be laborious and impractical. For example, to retrieve the full record indexed by xe2x80x9cbakersxe2x80x9d in FIGS. 2A to 2C, the first key-in method would require a keystroke sequence of xe2x80x9c22#2#55#33#777#7777#xe2x80x9d and the second method would require a keystroke sequence of xe2x80x9c222152327374xe2x80x9d, both demanding over ten keystrokes in the phone keypad. For devices, such as a cellular phone or a two-way page, equipped with a small screen, the above conventional query methods are often workable but neither convenient nor efficient.
There is therefore a need for an improved input query technique that is well suited for devices with small screens and a limited input interface.
The present invention has been made in consideration of the above described problems and needs and has particular applications to portable devices with a small screen and limited input interface. The portable devices may include, but are not limited to, mobile computing devices, cellular phones, palm-sized computer devices, personal digital assistant devices and Internet-capable appliance remote controllers. According to the invention, users are able to interact with the screen and input interface of these mobile devices to obtain pertinent information with a reduced number of keystrokes or button selections.
The present invention pertains to an improved query input technique in which a user supplies a relatively few character-based query entries and is able to retrieve and display at least as portion of a record from a structured database. For every character the user enters, a progressively reduced list of indexes that start with the entered characters is displayed. When a desired index identifying the record is among those indexes being displayed, the user may cease the character entry and scroll a zoom window upon the desired index to explore the full record. Various visual feedback indicators can also be displayed for the benefit of the user. Consequently, the user can access and display pertinent information of a certain record from a database quickly and efficiently with a reduced number of keystrokes.
According to one aspect of the present invention, a user supplies a few character-based queries to retrieve and display a record from a structured database. For every alphabetical character the user enters from a numerical keypad, a progressively reduced list of indexes that start with the entered characters is displayed. When a desired index identifying the record is among those indexes being displayed, the user may cease the character entry and scroll a zoom window upon the desired index to explore the full record. According to another aspect of the present invention, the zoom window maintains a display of an index and at least one field of a record. Consequently, the user can access and display pertinent information of a certain record from a database quickly and efficiently with minimum keystrokes.
According to one embodiment, the present invention is a method for displaying a record from a structured database on a display screen of an electronic device having a reduced-size input interface. The structured database includes a plurality of records, and the records include at least one field and are indexed by indexes comprising n characters. The method includes the acts of: displaying on the display screen a portion of indexes from the structured database; receiving successively n symbols from the input interface, the n symbols sequentially and respectively corresponding to the n characters of a desired index of the indexes for the records of the structured database, each of the symbols representing a group of characters one of which corresponds to the associated nth character of the desired index; and displaying on the display screen a reduced portion of the indexes, including the desired index, from the structured database, the reduced portion displays those of the indexes where each of the n characters in the indexes is respectively matched by one of the characters of the group of characters represented by the each of the symbols.
According to another embodiment, the present invention is a method for displaying a record from a structured database on a screen, the record including at least one field and indexed by a desired index comprising a string of characters, the method includes the acts of: displaying on the screen a portion of indexes from the structured database; receiving a first symbol if the desired index is not among the indexes being displayed in the screen; the first symbol representing a first group of characters one of which is a first character in the string of characters of the desired index; and indicating the desired index with a cursor when the desired index is among the indexes being displayed in the screen and the cursor is scrolled to the desired index.
In one preferred embodiment, the cursor is a zoom window that surrounds the desired index. The zoom window may further display one field of information of the record to facilitate the display of a piece of pertinent information in the record.
According to yet another embodiment, the present invention is an apparatus for displaying a desired record from a structured database on a screen, the record including at least one field and indexed by a predefined index comprising a string of characters, the device includes: a screen driver commanding the screen; an input interface; a memory for storing code for an application module; and a processor coupled to the memory, the input interface and the screen driver. The processor executes the code in the memory to cause the application module to drive the screen driver to: display on the screen a portion of indexes from the structured database; position a zoom window on one of indexes being displayed on the screen, where the zoom window displays the one of indexes along with a field of a record indexed by the one of indexes; and move the zoom window to the desired index when a navigation key is being activated and the desired index is among the indexes being displayed in the screen, where the zoom window displays the desired index and the at least one field of the desired record.
According to still another embodiment of the invention, the present invention is a computer readable medium including computer program code for displaying a record from a database on a display screen of an electronic device having a reduced-size input interface. The database includes a plurality of records, and the records include at least one field and are indexed by indexes of alphanumeric characters. The computer readable medium including: computer program code for receiving a first symbol from the input interface, the first symbol pertaining to a first group of alphanumeric characters, and the first alphanumeric character of a desired index of the indexes for the database being one of the alphanumeric character of the first group; computer program code for retrieving a first list of the indexes of the database in which their first alphanumeric character matches one of the alphanumeric characters of the first group; computer program code for displaying on the display screen at least a portion of the retrieved first list of the indexes, the desired index being one of the indexes; computer program code for receiving a second symbol from the input interface, the second symbol pertaining to a second group of alphanumeric characters, and the second alphanumeric character of the desired index of the indexes for the database being one of the alphanumeric character of the second group; computer program code for retrieving a second list of the indexes of the database in which their first alphanumeric character matches one of the alphanumeric characters of the first group and their second alphanumeric character matches one of the alphanumeric characters of the second group; and computer program code for displaying on the display screen at least a portion of the retrieved second list of the indexes, the desired index being one of the indexes.
Accordingly, one of the objects in the present invention is to provide a generic solution to displaying a record on a small screen from a structured database with minimum keystrokes on a limited input interface.
Other objects, together with the foregoing are attained in the exercise of the invention in the following description and resulting in the embodiment illustrated in the accompanying drawings.